package visitors;

import effects.CombatEffect;
import effects.DamageEffect;
import effects.GainExperienceEffect;
import effects.HealEffect;
import effects.InstantDeathEffect;
import effects.RiverEffect;
import effects.TeleportEffect;

/**
 * Visitor interface designed to handle Effects objects
 * concerning their interaction with entities, traps, and
 * etc.  This class is required for its ability to
 * handle the subtypes of Effects and their variant
 * behaviours
 * 
 * @author DangMH
 *
 */
public interface EffectsVisitor {
	public void visitCombatEffect( CombatEffect ce );	
	public void visitDamageEffect( DamageEffect de );
	public void visitGainExperienceEffect( GainExperienceEffect gee );
	public void visitHealEffect( HealEffect he );
	public void visitInstantDeathEffect( InstantDeathEffect ide );
	public void visitTeleportEffect( TeleportEffect te );
	public void visitRiverEffect(RiverEffect re);
}
